export default {
  jdarr: `
  原始数组:let arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]

  转化后:[1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10] `,
  fnA: `function flatten(arr){
  return arr.toString().split(",").map(Number)
} `,
  fnB: ` function flatten(arr){
  return Array.from(new Set(arr.toString().split(",").map(Number)))
} `,
  fnC: `function flatten(arr){
  return arr.flat(Infinity)
} `,
  fnD: `function flatten(arr){
  let result = []
  for (let i = 0; i < arr.length; i++) {
    if (Array.isArray(arr[i])) {
        result = result.concat(flatten(arr[i]))
    } else {
        result.push(arr[i])
    }
  }
  return result
}`,
  fnE: `function flatten(arr){
    return arr.reduce((prev,next)=>{
      return prev.concat(Array.isArray(next)?flatten(next):next)
    },[]);
  };
  console.log(flatten(a));
`,
fzarr:`
原始数组:[
  {
      id: "a", pid: 0, value: "陕西", children: [
          { id: 01, pid: "a", value: "西安" },
          { id: 02, pid: "a", value: "渭南" },
          { id: 03, pid: "a", value: "咸阳" },
      ]
  },
  {
      id: "b", pid: 0, value: "广东", children: [
          { id: 11, pid: "b", value: "广州" },
          { id: 12, pid: "b", value: "深圳" },
          { id: 13, pid: "b", value: "潮汕" },
      ]
  },
  {
      id: "c", pid: 0, value: "湖南", children: [
          {
              id: 21, pid: "c", value: "长沙", children: [
                  { id: 11, pid: 21, value: "广州A" },
                  { id: 12, pid: 21, value: "深圳A" },
                  { id: 13, pid: 21, value: "潮汕A" },
              ]
          },
          { id: 22, pid: "c", value: "常德" },
          { id: 23, pid: "c", value: "岳阳" },
      ]
  },
];

转化后: [
  { pid: 0, id: 'a', value: '陕西' },
  { pid: 'a', id: 1, value: '西安' },
  { pid: 1, id: 301, value: '雁塔区' },
  { pid: 1, id: 302, value: '高新区' },
  { pid: 'a', id: 2, value: '渭南' },
  { pid: 'a', id: 3, value: '咸阳' },
  { pid: 0, id: 'b', value: '广东' },
  { pid: 'b', id: 11, value: '广州' },
  { pid: 'b', id: 12, value: '深圳' },
  { pid: 'b', id: 13, value: '潮汕' },
  { pid: 0, id: 'c', value: '湖南' },
  { pid: 'c', id: 21, value: '长沙' },
  { pid: 'c', id: 22, value: '常德' },
  { pid: 'c', id: 23, value: '岳阳' }
]
`,
fnF:`function toLine(data) {
  return data.reduce((arr, { id, value, pid, children = [] }) =>
      arr.concat([{ id, value, pid }], toLine(children)), [])
  return result;
}
`,
fnG:`function toLine(data) {
  let arr = []
  let arr2 = []
  let list = {}
  data.forEach(item => {
    //通过for..in遍历对象并判断是否存在children
      for (let k in item) {
        //将不是children添加到新的对象
          if (k !== 'children') {
              list[k] = item[k]
          }
      }
      // 将新对象添加到arr2中
      arr2.push(list)
      list = {}
      if (item.children && item.children.length > 0) {
          arr2 = [...arr2, ...toLine(item.children)]
      }
  });
  return arr2
}
`,
treeArr:`
原始数组:[
  { pid: 0, id: 'a', value: '陕西' },
  { pid: 'a', id: 1, value: '西安' },
  { pid: 1, id: 301, value: '雁塔区' },
  { pid: 1, id: 302, value: '高新区' },
  { pid: 'a', id: 2, value: '渭南' },
  { pid: 'a', id: 3, value: '咸阳' },
  { pid: 0, id: 'b', value: '广东' },
  { pid: 'b', id: 11, value: '广州' },
  { pid: 'b', id: 12, value: '深圳' },
  { pid: 'b', id: 13, value: '潮汕' },
  { pid: 0, id: 'c', value: '湖南' },
  { pid: 'c', id: 21, value: '长沙' },
  { pid: 'c', id: 22, value: '常德' },
  { pid: 'c', id: 23, value: '岳阳' }
]
转化后: [
  {
      id: "a", pid: 0, value: "陕西", children: [
          { id: 01, pid: "a", value: "西安" },
          { id: 02, pid: "a", value: "渭南" },
          { id: 03, pid: "a", value: "咸阳" },
      ]
  },
  {
      id: "b", pid: 0, value: "广东", children: [
          { id: 11, pid: "b", value: "广州" },
          { id: 12, pid: "b", value: "深圳" },
          { id: 13, pid: "b", value: "潮汕" },
      ]
  },
  {
      id: "c", pid: 0, value: "湖南", children: [
          {
              id: 21, pid: "c", value: "长沙", children: [
                  { id: 11, pid: 21, value: "广州A" },
                  { id: 12, pid: 21, value: "深圳A" },
                  { id: 13, pid: 21, value: "潮汕A" },
              ]
          },
          { id: 22, pid: "c", value: "常德" },
          { id: 23, pid: "c", value: "岳阳" },
      ]
  },
];
`,
fnH:`function toTree(data) {
  let cloneData = JSON.parse(JSON.stringify(data))    // 对源数据深度克隆
  let tree = cloneData.filter((father) => {              //循环所有项
      let branchArr = cloneData.filter((child) => {
          return father.id == child.pid;//返回每一项的子级数组
      });
      if (branchArr.length > 0) {
          father.children = branchArr; //如果存在子级，则给父级添加一个children属性，并赋值
      }
      return father.pid == 0;//返回第一层
  });
  return tree;    //返回树形数据
}
`
}